package main.链表;

import common.ListNode;

import java.util.*;

/**
 * @author tmh
 * @date 2024/7/19 15:33
 * @description
 */
public class T141环形链表 {
    public boolean hasCycle(ListNode head) {
        //使用HashSet来解决，存的是ListNode,如果一个节点存不进去，说明这个节点已经存储过了，即链表有环
        Set<ListNode> set = new HashSet<>();
        while (head != null) {
            //如果节点没有加进去
            if (!set.add(head)) {
                return true;
            }
            head = head.next;
        }
        return false;
    }
}
